Communication routing apparatus

ABSTRACT

A communication routing system receives signals from sources thereof and converts them into a standard format, using mapping definitions selected on the basis of their sources. Signals in the standard format are converted into output formats according to their destinations using mapping definitions selected on the basis of their destinations. In a preferred embodiment, the standard format involves distributing data from each received signal across a plurality of tables of a database.

FIELD OF THE INVENTION

[0001] The present invention relates to a communication routingapparatus and an invoice routing method and apparatus.

BACKGROUND TO THE INVENTION

[0002] A vast number of firms are involved in commerce which itselfinvolves a massive traffic in invoices. Traditionally, invoices havebeen distributed largely by conventional mail. However, electroniccommunication of invoices has become more commonplace.

[0003] Electronic distribution of invoices suffers from the problem ofincompatibility between the accounting practices and systems of the manyorganisations which are involved in transactions either as vendors orpurchasers.

SUMMARY OF THE INVENTION

[0004] It is an object of the present invention to provide a routingsystem for invoices, or indeed other data, which overcomes theincompatibility problem described above or the like.

[0005] According to the present invention, there is provided acommunication routing apparatus comprising

[0006] input transmission line means;

[0007] output transmission line means;

[0008] input processing means for processing signals received from theinput transmission line means into an intermediate form havingpredetermined characteristics, the processing of each signal beingdependent on its source;

[0009] output processing means for processing signals in saidintermediate form, produced by the input processing means, into signalsin selected forms, the processing of each signal being dependent on itsdestination; and

[0010] transmission means for transmitting signals, produced by theoutput processing means, via the output transmission line means to theirdestinations.

[0011] Thus, the parties to a communication need not themselves be ableto convert signals between their respective formats.

[0012] The input and output transmission line means may be implementedusing the same physical electrical or optical conductors. Thetransmission line means preferably provide a connection to the Internet.

[0013] Preferably, an apparatus according to the present inventionincludes means storing a plurality of input signal processing mappingdefinitions, wherein the input processing means is configured to selectan input signal processing mapping definition in dependence on thesource of the signal being processed and process said signal accordingto the selected input signal processing mapping definition to convertsaid signal into said intermediate form.

[0014] Preferably, an apparatus according to the present inventionincludes means storing a plurality of output signal processing mappingdefinitions, wherein the output processing means is configured to selectan output signal processing mapping definition in dependence on thedestination of the signal being processed and process said signalaccording to the selected output signal processing mapping definition toconvert said signal into the form required according to its destination.

[0015] Preferably, an apparatus according to the present inventionincludes storage means for storing signals produced by the inputprocessing means, wherein the output processing means reads signals insaid intermediate form from the storage means before processing them.

[0016] Preferably, an apparatus according to the present inventionincludes storage means for storing signals, received by the inputprocessing means, so as to maintain a record of received signals.

[0017] Preferably, the input processing means is adapted to determinethe source of a received signal from a buffer location from which it istaken for processing and select the appropriate input mapping definitionin dependence thereon. More preferably, the input processing means isadapted to produce a plurality of signals in said intermediate form froma received signal comprising one transmission session.

[0018] Preferably, the output signal processing means is adapted toobtain a signal destination id from each intermediate form signal beingprocessed and select the appropriate output mapping definition independence thereon. More preferably, the output signal processing meansis configured to send its output signals to buffer means selected independence on the destinations thereof.

[0019] Preferably, the input processing means is configured to apply theselected input mapping definitions to perform data format conversions ondata represented by said received signals. More preferably, the inputprocessing means is configured to add data to that represented by saidreceived signals.

[0020] Preferably, the output processing means is configured to applythe selected output mapping definitions to perform data formatconversions on data represented by said intermediate form signals.

[0021] Preferably, the input, intermediate form and output signalsrepresent data files.

[0022] The present invention also extends to a method and apparatus forrouting invoices.

[0023] An invoice routing apparatus according to the present inventioncomprises

[0024] receiving means for receiving invoices;

[0025] input processing means for processing received invoices into anintermediate form having predetermined characteristics, the processingof each invoice being dependent on the identity of the raiser of theinvoice;

[0026] output processing means for invoices in said intermediate form,produced by the input processing means, into invoices in selected forms,the processing of invoice in said intermediate form being dependent onthe identity of the party being invoiced; and

[0027] transmission means for transmitting invoices, produced by theoutput processing means to their destinations.

[0028] An invoice routing method according to the present inventioncomprises

[0029] receiving an invoice;

[0030] electronically processing said received invoice into anintermediate form having predetermined characteristics in dependence onthe identity of the raiser of the invoice;

[0031] electronically processing said intermediate form invoice into aninvoice in a form selected in dependence on the identity of the partybeing invoiced; and

[0032] sending said invoice in said selected form to its destination.

BRIEF DESCRIPTION OF THE DRAWINGS

[0033]FIG. 1 is a generalised dataflow diagram of a system including arouting apparatus according to the present invention;

[0034]FIG. 2 is a generalised dataflow diagram of a further systemincluding a routing apparatus according to the present invention;

[0035]FIG. 3 shows the elements of system employing an OSI layer 7routing apparatus of the form illustrated in FIG. 2;

[0036]FIG. 4 illustrates the configuration of the web server machine ofFIG. 3;

[0037]FIG. 5 is a flowchart illustrating a first method for the transferof invoice data to the invoice routing system of FIG. 3;

[0038]FIG. 6 shows the user interface of an applet used in the methodillustrated in FIG. 5;

[0039]FIG. 7 is a flowchart of a method of generating invoices using theinvoice routing system of FIG. 3;

[0040]FIG. 8 is a flowchart of an input signal conversion process;

[0041]FIG. 9 is a flowchart of an output signal conversion process;

[0042]FIG. 10 is a flowchart of a invoice file download process; and

[0043]FIG. 11 illustrates a mapping definition file used by the systemshown in FIG. 3.

DETAILED DESCRIPTION OF THE EMBODIMENT

[0044] An embodiment of the present invention will now be described, byway of example, with reference to the accompanying drawings.

[0045] Referring to FIG. 1, first and second data transmission processes1, 2 need to transmit data to first and second data receiving processes3, 4. However, there is no agreement between these processes 1, 2, 3, 4as to the data format that should be used for such transmissions.

[0046] One solution would be for the first and second data transmissionprocesses 1, 2 to convert the transmitted data into the form required bythe destination data receiving process 3, 4. However, this requires thetransmitting process 1, 2 to know the current required data format ofthe destination data receiving process 3, 4. Alternatively, the dataformat conversion could be carried out at the destination data receivingprocess 3, 4. However, this would require the data receiving processes3, 4 to have a set of data conversion routines for all of the datatransmission processes 1, 2 from which it might receive a signal. Thesearrangements are undesirable because each new process 1, 2, 3, 4 whichis added potentially requires N new conversion routines, where N is thenumber of data transmission processes when a data receiving process isadded and the number of data receiving processes when a datatransmission process is added. Furthermore, when the format used by anon-converting process is changed, this information must be propagatedto all of the converting processes.

[0047] The solution to this problem is the provision of an intelligentrouter 5. The intelligent router 5 performs both routing and signalformat conversion. At most, the intelligent router 5 comprises an inputsignal conversion process 6, 7 for each data transmission process 1, 2,a routing implementation 8 and an output signal conversion process 9, 10for each data receiving process 3, 4.

[0048] Signals from the first data transmission process 1 are convertedinto a standard intermediate format by the respective input signalconversion process 6 and then routed to the appropriate output dataconversion process 9, 10, for conversion from the standard intermediateformat into the appropriate format for its destination, by the routingimplementation 8 according to its address. A signal from the second datatransmission process 2 is similarly processed although it is convertedinto the standard intermediate format by the other input conversionprocess 7.

[0049] In this case, it can be seen that each new data transmissionprocess or data reception process can only require the addition on amaximum of one new conversion process. Furthermore, changes in formatsused by data transmission processes and data receiving processes needonly be notified to the intelligent router 5.

[0050] It will be appreciated that the intelligent router 5 may bedistributed, consisting of an internal network with conversion processesavailable at its boundaries. Furthermore, the routing implementation 8may be provided by one or more dedicated processes or by aspects of theinput and/or output conversion processes.

[0051] Referring to FIG. 2, the input signal conversion processes 6, 7of FIG. 1 are replaced by a generic input signal conversion process 6 awhich processes incoming signals according to mapping definitions 6 bselected on the basis of the source of the signal being converted.Similarly, the output signal conversion processes 9, 10 of FIG. 1 arereplaced by a generic output signal conversion process 9 a whichprocesses signals according to mapping definitions 9 b on the basis ofthe destination of the signal being converted. The generic output signalconversion process 9 a also provides the routing implementation.

[0052] The present invention may be implemented at various layers of theISO networking reference model. An application layer, i.e. layer 7,embodiment for the transfer of invoice data, including credit note dataand the like, will now be described by way of example.

[0053] Referring to FIG. 3, the Internet 11 extends across a pluralityof countries 12, 13 (only two shown). An invoice routing system 14 isconnected to the Internet 11. Additionally, first, second, third andfourth supplier computers 15, 16, 17, 18 belonging to first, second,third and fourth suppliers respectively, first and second buyercomputers 19, 20 belonging to first and second buyers respectively, ahead office computer 21 belonging to a holding company and a fiscalauthority computer 22 are connected to the Internet 11.

[0054] The first, second and third supplier computers 15, 16, 17 areconventional computers with access to invoice files (not shown) createdby the respective supplier's accounting system (not shown). The fourthsupplier computer 18 does not have access to invoice data files andinvoices must be generated manually in cooperation with the invoicerouting system 14.

[0055] The buyer computers 19, 20 are conventional computers which cangenerate files that are accessible to the respective buyer's accountingsystems (not shown).

[0056] The head office computer 21 and the fiscal authority computer 22are also conventional computers.

[0057] The first and third suppliers are subsidiaries of the holdingcompany operating the head office computer 21.

[0058] The first and third supplier computers 15, 17 provide invoicedata in a first format. The same format is used because they belong tothe same group of companies. The second supplier computer 16 providesinvoice data in a second format. The first and second buyer computers19, 20 require invoice data in third and fourth formats respectively.

[0059] The invoice routing system 14 comprises a web server machine 23,a data warehouse machine 24, an administration machine 25, an invoiceprocessing machine 26, a printer 27, a security server machine 28, afirst firewall 30 between the web server 23 and the Internet 11, secondfirewall 31 between the web server machine 23 and the local areanetwork. The local area network 29 provides for communication betweenthe various machines 23, 24, 25, 26, 28 and the printer 27.

[0060] The data warehouse machine 24 provides a platform for arelational database management system (RDBMS) 24 a. The relationaldatabase management system 24 a contains tables storing:

[0061] (a) system configuration data, such as country codes, validoptions for date and currency formats and the details of mappingdefinitions;

[0062] (b) client data, such as names, addresses, tax numbers, and datamapping definition ids; and

[0063] (c) audit trail and transaction records.

[0064] The supplier, buyer, head office and fiscal authority computers15, . . . , 22 all interact with the invoice routing system 14 throughthe agency of the web server machine 23 and do not need to have softwareother than a Java-enabled web browser in order to make use of theinvoice routing system 14.

[0065] Referring to FIG. 4, the web server machine 23 supports a webserver 40 enabled for secure communication, e.g. using SSL (securesockets layer), a plurality of CGI scripts 41, a file reception process42 and a file transmission process 43.

[0066] The transfer of invoice data from the first supplier computer 15to the invoice routing system 14 will now be described.

[0067] Referring to FIG. 5, in order to upload invoice data to theinvoice routing system 14, the operator of the first supplier computer15 uses a web browser to “log in” to the web server 40 and establish asecure communication path (step s1). Having logged in, the operator canfollow a hypertext link to an invoice file upload page (step s2). Thefile upload page includes a Java applet. The Java applet is signed sothat it has access to the file system of the first supplier computer 15.As shown in FIG. 6, the applet's user interface includes a list box 50for listing the files to be uploaded, a button 51 for opening a fileselection dialog so that the operator can specify the invoice files tobe uploaded and a button 52 for starting the file transfer.

[0068] When the user has specified the files to be uploaded (step s3)and starts the file transfer (step s4), the applet establishesconnection to the file reception process 42 at the web server machine 14(step s5) and transmits the entered fie count and the specified files tothe file reception process 42 (step s6). If the upload is successful(step s7), the file reception process 42 validates the digitalcertificate sent with the file through a dialogue with the securityserver machine 28 (step s8). If the certificate is not valid the filereception process 42 logs an error (step s9) otherwise it sends a copyof the received file or files to the data warehouse machine 24 (steps10) where they are stored temporarily, e.g. for 5 days, so that thefiles do not need to be uploaded again if the conversion process fails.The file of received invoice data is then sent to a directory,associated with the uploading party and which is accessible to theinvoice processing machine 26 (step s11). The operator is then informedof the success of the upload (step s12). The operator is also informedof upload failures (step s13).

[0069] The uploading of invoice data files from the second suppliercomputer 16 is performed in the same way.

[0070] The third supplier computer 17 uses an automatic upload process.This process is triggered by scheduling software on the third suppliercomputer 17 and is effected by a Java application which performs FTPover an HTTP link to the web server machine 23 and prohibits operatorintervention. The use of FTP over an HTTP link avoids the need for adirect FTP link between the third supplier computer 17 and the invoicerouting system 14. The use of this, and the prohibition of operatorintervention increases system security.

[0071] The fourth supplier computer 18 does not have access to invoicedata files suitable for uploading, for instance the owner uses manualaccounts. Referring to FIG. 7, in this case, the operator of the fourthcomputer 18 logs into the web server 40 (step s101) and follows a linkto a set of invoice generation html forms, which provide inputs for CGIscripts 41. The set of forms enables the operator of the fourth suppliercomputer 18 to enter invoice details (step s102) and upload them to theweb server machine 23 (step s103). The forms are generated using data inthe data warehouse machine 24 so that, for instance, entry of a buyer idcauses name and address data for the buyer to be filled in.

[0072] The operator uses the invoice generation forms to enter one ormore invoices (steps s102 and s104). When each invoice has been entered,its data is submitted to a CGI script 41 at the web server machine 23.When there are no more invoices to upload (step s105), the operator ispresented with a summary of the uploaded invoices and given the optionof saving or saving and printing the invoices (step s106). An FTPconnection is then established (step s107), using a signed appletreceived from web server machine 23, and the invoices are downloaded andstored (step s108) and optionally printed (step s109). The uploadedinvoices are processed as in the case of the first supplier computer'suploading of invoice data, starting at step s7 of FIG. 5.

[0073] The invoice processing machine 24 implements the signalconversion processes 6 a, 9 a (FIG. 2), with the routing implementation8 (FIG. 1) being provided by the output signal conversion process 9 a.

[0074] The input signal conversion process 6 a processes invoice datafrom the file reception process 42 as follows. Referring to FIG. 8, theinvoice files in the directory associated with a supplier areconcatenated (step s200) and the identity of the directory, in which theinvoice data is stored, is then used to select the appropriate mappingdefinition 6 b from a database of mapping definitions at the datawarehouse machine 24 (step s201). Thus, a first mapping definition isselected for invoices from the first and third supplier computers 15,17, a second mapping definition is selected for invoices from the secondsupplier computer 16 and the third mapping definition is selected forinvoices from the fourth supplier computer 18. Using information fromthe selected mapping definition, the invoice data file being processedis split into its constituent invoices (step s202).

[0075] Each invoice is then converted by the input signal conversionprocess into a standard intermediate format according to the selectedmapping definition. This conversion process includes preprocessing themto separate their individual fields and copying them to thecorresponding fields of the intermediate format as necessary (steps203), the addition of static data, e.g. the name and address of thesource of the invoice (step s204), and system dynamic data including atransaction code, a transaction id and the mapping definition used (steps205). The converted invoice data is then validated (step s206). If theconverted-data is invalid, the source of the invoice is notified of theerror by email (step s207) and the error is logged (step s208).

[0076] If the converted data is valid, its details are stored by therelational database management system 24 a at the data warehouse machine24, so that they are available for queries from the suppliers, buyers,head offices and fiscal authorities concerned, (step s209) and thestandard intermediate format data is made available to the output signalconversion process (step s210).

[0077] Following steps s208 and s210, it is determined whether all ofthe invoices in the concantenated file have been processed (step s211)and when all of the invoices have been processed, an html summary issent by email to the supplier concerned (step s212).

[0078] Referring to FIG. 9, for each standard intermediate formatinvoice to be processed, the output signal conversion process 9 adetermines which mapping definition is required based on the buyer, towhich the invoice is addressed (taken from a predetermined field of thestandard intermediate format), and retrieves it from a database ofmapping definitions 9 b at the data warehouse machine 24 (step s401). Itthen adds a supplier alias, if required by the buyer according to themapping definition (step s402). The supplier alias is a code for thesupplier provided by the buyer to which the invoice is addressed. A copyof the unconverted invoice data is then saved at the data warehousemachine 24 where it will be maintained for a predetermined period incase a problem with the output conversion occurs (step s403). After theinvoice copy has been saved, the output signal conversion processconverts the invoice from the standard intermediate format into thatrequired by the buyer to which it is addressed. This includes convertingthe contents of individual fields and reordering them as necessary (steps404) and the addition of static and derived data, e.g. amounts inalternate currencies, required by the buyer (step s405).

[0079] If the converted invoice fails to meet criteria specified by thebuyer (step s406), an email notification is sent to the supplier whoissued the invoice (step s407) and the error is logged (step s408). Ifthe converted invoice is rejected because it is on the buyer's blockinglist (step s409), email notifications are sent to both the supplier andthe buyer (step s410) and the event is logged (step s411). Finally, ifthe converted invoice is acceptable, it is stored in a directoryassigned to the buyer (step s412). This directory is accessible to thefile transmission process 43 at the web server machine 23.

[0080] The blocking list is a list of suppliers from which the buyerwill not accept invoices. An allow list is alternatively provided tospecify the suppliers from whom a buyer will accept invoices.

[0081] Referring to FIG. 10, in order to download invoices addressed tothe first buyer, the operator of the first buyer computer 19 logs intothe web server 40 (step s501) and follows a link to a download page(step s502). The download page includes a signed applet which allows theoperator to identify a destination directory for the downloaded invoicesand a download initiating button. When the operator has specified adestination directory (step s503) and clicked on the button, the appletretrieves the buyer's invoices from the directory where they were storedby the output signal conversion process (step s504). When the filetransfer is complete the operator is notified by the applet (step s505).Additionally, the file transmission process sends an email containing asummary of the downloaded files to the buyer (step s506).

[0082] The second buyer computer 20 uses an automatic download process.This process is triggered by scheduling software on the second buyercomputer 20 and is effected by a Java application which performs FTPover an HTTP link to the web server machine 23 and prohibits operatorintervention. The use of FTP over an HTTP link avoids the need for adirect FTP link between the second buyer computer 16 and the invoicerouting system 14. The use of this, and the prohibition of operatorintervention, increase system security.

[0083] Following the successful download of an invoice file, individualinvoices ate also sent to the respective buyer via e-mail in HTMLformat. These invoice copies may include data, such as VAT registrationnumbers, that is not included the downloaded invoice file but which isrequired on printed invoices, which themselves may be a legalrequirement.

[0084] The e-mails are received by the buyer's e-mail client (not shown)from where they can be stored, printed and/or distributed.

[0085] The supplier, buyer, head office and fiscal authority computers15, . . . , 22 can be used to query data in the data warehouse machine24 within secure HTTP sessions. The data that can be returned to thequerying party depend on its legitimate area of interest. Thus,suppliers can access records of the invoices which they have generated,buyers can access records of the invoices addressed to them,parent/holding companies can access records of invoices generated by oraddressed to their various subsidiaries and fiscal authorities canaccess records of invoices relating to transactions over which they havejurisdiction. The suppliers n buyers, head office and fiscal authoritiescan also obtain HTML format invoices which can be printed out locally toprovide a hard copy from the data warehouse machine 24.

[0086] Additionally, the operator of the invoice routing apparatus 14can use the records of the invoices passing through the system tocalculate charges to suppliers and buyers using the system.

[0087] The mapping definitions, referred to above, comprises sets ofrules that map fields of invoice data files in one form ontocorresponding fields of another form. The mapping definitions alsodefine any data representation format conversions, e.g. yymmdd to ddmmyyfor dates, and any additional static or derived data that needs to beadded. The mapping definitions may also include rules for validating theresult of the conversion process controlled thereby.

[0088] In the present example, the intermediate format is implementedusing a plurality of tables of a relational database managed by therelational database management system 24 a. The fields of theintermediate format stored in respective tables of the database. Thus,all supplier city address fields are stored in a supplier city addresstable and each invoice bought/ordered item line is stored in an itemline table.

[0089] The contents of a mapping definition file 6 b for convertinginput invoice data into the intermediate format illustrated above isshown in FIG. 11 (the column headers are shown in the interest ofclarity and are not included in the file represented).

[0090] Referring to FIG. 11, the mapping definition file 6 b has a rowfor each label used in converting to the intermediate format. Each rowcomprises the label name, flags to indicate whether it is a container,i.e. contains other labels, and whether it has a data element, the nameof any attribute used in the data field, minimum and maximum values forthe occurrence of the data labelled by the label, the format of any dataelement, e.g. text or number, the size of the element and the datasource for each occurrence of the data element.

[0091] The preprocessing, referred to above, uses knowledge about thefield separators and/or field headers used in incoming invoice files sothat the incoming invoice fields are separated in a consistent manner.However, at this stage no judgement as to the meaning of the fields ismade.

[0092] The input signal conversion process 6 a opens the mappingdefinition file 6 b and first reads an Invoice label. No data isassociated with this label but it is provided for possible future use.However, it is a container. Next an InvoiceHeader label is found. Thislabel is a container and does not contain data. Next the process 6 a anInvoiceType label. However, the mapping definition file 6 b specifiesthat this tag has an attribute “type” and that the data for thisattribute is “invoice”if fieldA form the pre-processed input file is “I”and otherwise “credit note”. Consequently, the process inserts a rowcomprising the invoice's unique id and “invoice” or “credit note” intothe invoice type table of the intermediate form database.

[0093] The next invoice header item is the invoice number andaccordingly the process 6 a inserts a row comprising the invoice'sunique id, and the invoice number from fieldC into the invoice numbertable of the database.

[0094] The mapping definition file 6 a specifies that there are twoparties. Consequently, it inserts two rows into the party table of thedatabase. The first row includes the invoice's unique id, a who fieldset to “supplier”, the supplier's id from the system's client database,a link to a name record in a name database and a link to an addressrecord in an address database. These name and address records arecreated using data from the system's client database.

[0095] The second row includes the invoice's unique id, a who field setto “buyer”, the buyer's id from the fieldB of the input file, a link toa name record in a name database and a link to an address record in anaddress database. These name record is set to null in the name table andaddress record is created using data from fieldE, fieldF, fieldG andfieldH of the pre-processed input file.

[0096] There are also two Ref entries which cause reference records tobe stored in a reference table. The records comprise the invoices uniqueid and a field comprising “QN” and “OT” respectively combined with datafrom the pre-processed input file.

[0097] An invoice details section, opened with an InvoiceDetails label,follows the invoice header section and it can be seen that thiscomprises a separate section for each line of the items ordered/boughtand a total section. Some of these elements are numbers and the elementsize column specifies the formats for them with the number of digitsavailable before and after a decimal point. The values for each line aretaken from a field from the pre-processed file which is an array ofelements that can be selected using the field name (fieldP) and anindex. In the example shown, the index is calculated from the linenumber (L) where the first line is line 1. Each line is stored as arespective record in a line items table of the database.

[0098] Since the intermediate format uses a database, conventional datamerging techniques, such as mail merging, with mapping definitions inthe form of templates can be used to convert the intermediate formatdata into files having formats appropriate for their destinations.

[0099] It can also be seen that the mapping definitions 6 a includeinformation regarding the form and repetition of fields for controllingthe conversion process.

[0100] In other embodiments, the invoices are uploaded and/or downloadedusing virtual private network (VPN) connections to the invoice routingsystem 14.

[0101] It will be appreciated that many modifications can be made to theembodiment described above. In particular, the allocation of processingtasks to particular machines may be changed. At one extreme all of thefunctions of the invoice routing system 14 could be performed using onecomputer. At another extreme each process may be performed in parallelon many machines with clustering of servers for the data warehouse.Furthermore, one or more of the personal computers could be replaced bymini-computers or mainframes. It is the ability of these computers tocommunicate with each other that is important rather that the particulartypes of computers used.

What is claimed is:
 1. A communication routing apparatus comprising:input transmission line means; output transmission line means; inputprocessing means for processing signals received from the inputtransmission line means into an intermediate form having predeterminedcharacteristics, the processing of each signal being dependent on itssource; output processing means for processing signals in saidintermediate form, produced by the input processing means, into signalsin selected forms, the processing of each signal being dependent on itsdestination; and transmission means for transmitting signals, producedby the output processing means, via the output transmission line meansto their destinations.
 2. An apparatus according to claim 1, includingmeans storing a plurality of input signal processing mappingdefinitions, wherein the input processing means is configured to selectan input signal processing mapping definition in dependence on thesource of the signal being processed and process said signal accordingto the selected input signal processing mapping definition to convertsaid signal into said intermediate form.
 3. An apparatus according toclaim 1, including means storing a plurality of output signal processingmapping definitions, wherein the output processing means is configuredto select an output signal processing mapping definition in dependenceon the destination of the signal being processed and process said signalaccording to the selected output signal processing mapping definition toconvert said signal into the form required according to its destination.4. An apparatus according to claim 1, including storage means forstoring signals produced by the input processing means, wherein theoutput processing means reads signals in said intermediate form from thestorage means before processing them.
 5. An apparatus according to claim1, including storage means for storing signals, received by the inputprocessing means, so as to maintain a record of received signals.
 6. Anapparatus according to claim 2, wherein the input processing means isadapted to determine the source of a received signal from a bufferlocation from which it is taken for processing and select theappropriate input mapping definition in dependence thereon.
 7. Anapparatus according to claim 6, wherein the input processing means isadapted to produce a plurality of signals in said intermediate form froma received signal comprising one transmission session.
 8. An apparatusaccording to claim 3, wherein the output signal processing means isadapted to obtain a signal destination id from each intermediate formsignal being processed and select the appropriate output mappingdefinition in dependence thereon.
 9. An apparatus according to claim 8,wherein the output signal processing means is configured to send itsoutput signals to buffer means selected in dependence on thedestinations thereof.
 10. An apparatus according to claim 2, wherein theinput processing means is configured to apply the selected input mappingdefinitions to perform data format conversions on data represented bysaid received signals.
 11. An apparatus according to claim 10, whereinthe input processing means is configured to add data to that representedby said received signals.
 12. An apparatus according to claim 3, whereinthe output processing means is configured to apply the selected outputmapping definitions to perform data format conversions on datarepresented by said intermediate form signals.
 13. An apparatusaccording to claim 1, wherein the input and output signals representdata files.
 14. An apparatus according to claim 1, wherein theintermediate format signals represent data in tables of a database. 15.An apparatus according to claim 14, wherein each table comprises datafrom a plurality of input signals and each input signal provides datafor a plurality of tables of said database.
 17. An apparatus accordingto claim 1, configured to process signal in layer 7 of the OSInetworking reference model.
 18. An invoice routing apparatus comprising:receiving means for receiving invoices; input processing means forprocessing received invoices into an intermediate form havingpredetermined characteristics, the processing of each invoice beingdependent on the identity of the raiser of the invoice; outputprocessing means for invoices in said intermediate form, produced by theinput processing means, into invoices in selected forms, the processingof invoice in said intermediate form being dependent on the identity ofthe party being invoiced; and transmission means for transmittinginvoices, produced by the output processing means their destinations.19. An apparatus according to claim 18, including means storing aplurality of input invoice mapping definitions, wherein the inputprocessing means is configured to select an input invoice mappingdefinition in dependence on the raiser of the invoice being processedand process said invoice according to the selected input invoice mappingdefinition to convert said invoice into said intermediate form.
 20. Anapparatus according to claim 18, including means storing a plurality ofoutput invoice mapping definitions, wherein the output processing meansis configured to select an output invoice mapping definition independence on the party being invoiced and process said invoiceaccording to the selected output invoice mapping definition to convertsaid signal into the form required by the party being invoiced.
 21. Anapparatus according to claim 18, including storage means for storingintermediate form invoices produced by the input processing means,wherein the output processing means reads invoices in said intermediateform from the storage means before processing them.
 22. An apparatusaccording to claim 18, including storage means for storing invoices,received by the input processing means, so as to maintain a record ofreceived invoices.
 23. An apparatus according to claim 19, wherein theinput processing means is adapted to determine the source of a receivedinvoice from a buffer location from which it is taken for processing andselect the appropriate input invoice mapping definition in dependencethereon.
 24. An apparatus according to claim 23, wherein the inputprocessing means is adapted to produce a plurality of invoices in saidintermediate form from a collection of invoices received together. 25.An apparatus according to claim 18, wherein the output processing meansis adapted to obtain an invoice destination id from each intermediateform invoice being processed and select the appropriate output invoicemapping definition in dependence thereon.
 26. An apparatus according toclaim 25, wherein the output processing means is configured to send itsoutput invoices to buffer means selected in dependence on thedestinations thereof.
 27. An apparatus according to claim 19, whereinthe input processing means is configured to apply the selected inputinvoice mapping definitions to perform data format conversions on datarepresented by said received signals.
 28. An apparatus according toclaim 27, wherein the input processing means is configured to add datato that represented by said received invoices.
 29. An apparatusaccording to claim 20, wherein the output processing means is configuredto apply the selected output invoice mapping definitions to perform dataformat conversions on intermediate form invoices.
 30. An apparatusaccording to claim 18, wherein the received and transmitted invoices arerepresented by data files.
 31. An apparatus according to claim 18,wherein the intermediate form invoices are represented by data in tablesof a database.
 32. An apparatus according to claim 31, wherein eachtable comprises data from a plurality of input signals and each inputsignal provides data for a plurality of tables of said database.
 33. Aninvoice routing method comprising: receiving an invoice; electronicallyprocessing said received invoice into an intermediate form havingpredetermined characteristics in dependence on the identity of theraiser of the invoice; electronically processing said intermediate forminvoice into an invoice in a form selected in dependence on the identityof the party being invoiced; and sending said invoice in said selectedfor to its destination.
 34. A method according to claim 33, includingstoring a plurality of input invoice mapping definitions and selectingan invoice mapping definition from said stored input invoice mappingdefinition for use in said electronic processing of said receivedinvoice in dependence on the raiser of said invoice.
 35. A methodaccording to claim 33, including storing a plurality of output invoicemapping definitions and selecting an output invoice mapping definitionfrom said stored output invoice mapping definitions for using in saidelectronic processing of said received invoice in dependence on theparty being invoiced.
 36. A method according to claim 33, storing saidintermediate form invoice and reading said intermediate form invoicefrom where it has been stored before processing it into said selectedform.
 37. A method according to claim 33, storing said invoice asreceived in a received invoice archive.
 38. A method according to claim34, wherein the processing of said received invoice comprisesdetermining the source of said received invoice from a buffer locationfrom which it is taken for processing and selecting the appropriateinput invoice mapping definition in dependence thereon.
 39. A methodaccording to claim 35, wherein the processing of said intermediate forminvoice comprises obtaining an invoice destination id therefrom andselecting the appropriate output invoice mapping definition independence thereon.
 40. A method according to claim 39, wherein theoutput processing means is configured to send its output invoices tobuffer means selected in dependence on the destinations thereof.
 41. Amethod according to claim 34, wherein the processing of said receivedinvoice comprises apply the selected input invoice mapping definitionsto perform data format conversion on said received invoice.
 41. A methodaccording to claim 41, wherein the processing of said received invoiceincludes adding data to said received invoice.
 42. A method according toclaim 35, wherein the processing of said intermediate form invoicecomprises applying the selected output invoice mapping definition toperform data format conversions on said intermediate form invoice.
 43. Amethod according to claim 33, wherein the received and transmittedinvoices are represented by data files.
 44. A method according to claim33, wherein said intermediate form invoice comprises data in tables of adatabase.
 45. A method according to claim 44, wherein each tablecomprises data from a plurality of received invoices and receivedinvoice provides data for a plurality of tables of said database.